<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>声明提前</title>
</head>
<body>
    
</body>
<script>
    // var a;//系统默默帮你做的：声明提前
     /*
        * 声明
            * 声明式
                    function 函数名() {}
            * 赋值式
                    var 变量名 = function() {}
            * 区别
                * 声明式的函数调用入口，可以写在函数体的前面或后面
                * 赋值式函数的调用入口，必须写在函数体的下面，先声明后调用
            * 函数和变量都会声明提前
     
     */

    // var sum;//系统默默帮你做的：声明提前

    //调用
    show();//声明式函数
    // sum();//sum is not a function ：已经声明了sum，还未赋值成功

    function show() {
        console.log('声明式函数');
    }

    var sum = function() {
        console.log('赋值式函数');
    }

    // sum();


    //面试题
    console.log(a,111);//? a is not defined:a没有被声明 -> undefined :声明未赋值
    var a = 55;
    console.log(a,222);//? 55
   
</script>
</html>